$(function() {
    // 点击全选按钮，所有商品的复选框状态会变更
    //.checkall全选按钮
    $('.checkall').click(function() {
        console.log($(this));
        //全选按钮checked的值为当前状态,隐式迭代,令所有全选按钮的checked为当前的checked属性
        $('.checkall').prop('checked', $(this).prop('checked'));
        //其它复选框checked为全选按钮的状态
        $('.j-checkbox').prop('checked', $(this).prop('checked'));
        statistics();
    });

    // 商品复选框选中状态切换，全选状态也会切换
    $('.j-checkbox').click(function() {
        // 判断选中的数量和所有复选框的数量是否一致
        //选取有.j-checkbox这个类的所有元素的长度
        let len1 = $('.j-checkbox').length;
        //选取有.j-checkbox这个类同时要有checked这个属性的所有元素的长度
        let len2 = $('.j-checkbox:checked').length;
        //只有复选框全部的checked属性选中时,才让全选框的checked
        if (len1 === len2) {
            $('.checkall').prop('checked', true);
        } else {
            $('.checkall').prop('checked', false);
        }
        statistics();
    });
    //修改文本框内的数量,让小计的值发生变化
    $('.itxt').on('input', function() {
            //获取修改的数量的值
            let num = $(this).val();
            // console.log($(this).val());
            // 修改小计的值
            //获取当前元素的父级.p-num的兄弟元素.p-price的文本
            //通过单价乘以数量的方式计算最终值
            //获取单价
            let price1 = $(this).closest('.p-num').siblings('.p-price').text();
            //通过substr()这个方式截取字符串,从第一位开始到长度减一位
            let price2 = price1.substr(1, price1.length - 1);
            //因为得到的是字符串的形式,所以转换为数字类型
            let sum = num * Number(price2);
            //.toFixed()保留几位小数
            $(this).closest('.p-num').siblings('.p-sum').text('￥' + sum.toFixed(2))
            statistics();

        })
        // 点击+号，增加数量
    $('.increment').click(function() {
        //获取修改的数量的值
        let num = $(this).siblings('.itxt').val();
        //在获取的值基础上加一
        num++;
        //将获取到的值给到文本框
        $(this).siblings('.itxt').val(num);

        // 修改小计的值.同上面的操作
        let price = $(this).closest('.p-num').siblings('.p-price').text();
        let price2 = price.substr(1, price.length - 1);
        let sum = num * Number(price2);
        $(this).closest('.p-num').siblings('.p-sum').text('￥' + sum.toFixed(2));
        statistics();
    });
    //减法操作
    $('.decrement').click(function() {
        let num = $(this).siblings('.itxt').val();
        if (num > 1) {
            num--;
            $(this).siblings('.itxt').val(num);

            let price = $(this).closest('.p-num').siblings('.p-price').text();
            let price2 = price.substr(1, price.length - 1);
            let sum = num * Number(price2);
            $(this).closest('.p-num').siblings('.p-sum').text('￥' + sum.toFixed(2));
            statistics();
        }
    });
    statistics();

    function statistics() {
        // 统计数量
        let count = 0;
        //统计价格
        let money = 0;
        //ele为dom对象.
        // console.log($('.j-checkbox'));
        $('.j-checkbox').each(function(index, ele) {
            if ($(ele).prop('checked')) {
                // console.log($(ele));
                // count += parseInt($(ele).closest('.p-checkbox').siblings('.p-num .itxt').val());
                // console.log($(ele).closest('.p-checkbox').siblings('.p-num').children('.quantity-form').children('.itxt').val());
                // let a = $(ele).closest('.p-checkbox').siblings('.p-num').children('.quantity-form').children('.itxt').val();
                let a = $(ele).closest('.cart-item').children('.p-num').children('.quantity-form').children('.itxt').val();
                let b = $(ele).closest('.cart-item').children('.p-sum').text().substr(1);
                // console.log(a);
                count += parseInt(a);
                // console.log(b);
                money += parseFloat(b);
                // console.log(money);
            }
            $(".amount-sum em").text(count);
            $(".price-sum em").text(money);
        });



    }
})